package com.micro.ai.files.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.micro.ai.files.entity.FileFolder;

import java.util.List;

/**
 * 文件夹服务接口
 * 
 * @author micro-ai
 * @since 0.0.1
 */
public interface FileFolderService extends IService<FileFolder> {

    /**
     * 创建文件夹
     */
    FileFolder create(FileFolder folder);

    /**
     * 更新文件夹
     */
    FileFolder update(String id, FileFolder folder);

    /**
     * 删除文件夹
     */
    void delete(String id);

    /**
     * 移动文件夹
     */
    FileFolder move(String id, String newParentId);

    /**
     * 重命名文件夹
     */
    FileFolder rename(String id, String newName);

    /**
     * 分页查询
     */
    Page<FileFolder> pageQuery(int pageNum, int pageSize, String tenantId, 
                               String parentId, String keyword);

    /**
     * 查询子文件夹列表
     */
    List<FileFolder> listChildren(String tenantId, String parentId);

    /**
     * 查询文件夹树
     */
    List<FileFolder> listTree(String tenantId, String parentId);
}

